<?php
// +----------------------------------------------------------------------
// | B5Yii2CMF V3.0 [快捷通用基础管理开发平台]
// +----------------------------------------------------------------------
// | Author: 冰舞 <357145480@qq.com>
// +----------------------------------------------------------------------
declare (strict_types=1);

namespace common\extend\exception;


class ErrorCode
{
    const API_SUCCESS = 10000; // 成功
    const API_ERROR = 10001; // 错误
    const API_NO_AUTH = 10005; // 无权限
    const API_TOKEN_ERROR = 10035; // token缺失或失效

    const COMMON_SUCCESS = 0; // 公共成功
    const COMMON_ERROR = 1; // 公共失败


    // 导出相关错误
    const EXPORT_NO_FIELDS = 16101;//未配置导出字段
    const EXPORT_EMPTY_DATA = 16102;//导出数据为空
    const EXPORT_FAIL_DIR = 16110;//存储文件夹创建失败
    const EXPORT_FAIL_FILE = 16111;//文档创建失败


    /**
     * 获取错误
     * @param $code
     * @param string $default
     * @return string
     */
    public static function getError($code,string $default = '未知错误'): string
    {
        $list = [
            self::API_SUCCESS => '操作成功',
            self::API_ERROR => '操作失败',
            self::API_TOKEN_ERROR => '登录会话失效',
            self::API_NO_AUTH => '无权限操作',
            self::EXPORT_NO_FIELDS => '未配置导出字段',
            self::EXPORT_EMPTY_DATA => '导出数据为空',
            self::EXPORT_FAIL_DIR => '存储文件夹创建失败',
            self::EXPORT_FAIL_FILE => '文档创建失败',
            self::COMMON_SUCCESS => '操作成功',
            self::COMMON_ERROR => '操作失败',
        ];
        return $code?($list[$code]??$default):$default;
    }
}